//
//  QMASDKDelegate.h
//  Pods
//
//  Created by raymonddeng on 2021/1/27.
//  Copyright 2020 tencent. All rights reserved.
//


#ifndef QMASDKDelegate_h
#define QMASDKDelegate_h

typedef NS_ENUM(NSInteger, QMAAppConnectType) {
    QMAAppConnectTypeInvalid = 0,
    QMAAppConnectTypeWechat = 1,
    QMAAppConnectTypeQQ = 2,
    QMAAppConnectTypeQQSkey = 3, // QQ号直接登录
};

@protocol QMASDKDelegate <NSObject>


#pragma mark - 通信鉴权 推荐内渠宿主使用

/**
 * @brief SDK宿主平台标识
 * 用于标识来源平台，即宿主方ID
 * @return 返回的是小写字符串
 */
- (NSString *)getPlatformId;

#pragma mark - 通信鉴权 推荐外渠宿主使用

/**
 * @brief 获取SDK宿主平台的当前用户账号的登陆态签名信息
 * @return 二进制的签名信息
 */
- (NSData *)getAppSignatureData;

/**
 * @brief 获取SDK宿主平台的当前用户账号标识，一般填uin或openid
 *
 * 注意：返回nil会导致SDK内某些缓存失效。如果没有登录，可以填个设备号id来避免缓存失效
 */
- (NSString *)getAppUID;

#pragma mark - 互联SDK配置信息
@optional
/**
 * @brief SDK宿主上的互联openid
 */
- (NSString *)getAppConnectOpenID;

/**
 * @brief SDK宿主上的互联类型
 */
- (QMAAppConnectType)getAppConnectType;

/**
 *  @brief SDK宿主上的互联appid
 */
- (NSString *)getAppConnectAppID;

/**
 *  @brief SDK宿主上互联分配，与openid配合使用的登录态内容
 */
- (NSData *)getAppConnectSessionKey;

#pragma mark - 请求透传参数

/**
 *  @brief 剪贴板频控
 */
- (NSNumber *)getClipboardInterval;

/**
 *  @brief 请求透传参数
 */
- (NSDictionary *)getExtInfo;

@end


#endif /* QMASDKDelegate_h */
